package main

import "fmt"

func main() {
	c := make(chan int) // 定义一个无缓冲区 channel
	go func() {         // 启动一个 goroutine 调用匿名函数
		fmt.Println("启动一个 goroutine 调用匿名函数")
		c <- 1 // 该 goroutine 向 channel 发送一个值（信号）
	}()
	fmt.Println("main 函数")
	out := <-c       // main goroutine 从 channel 中接收一个值（信号），再未接收到值（信号）之前，一直阻塞
	fmt.Println(out) // 该打印无实际意义，仅为了读者容易理解
}

/*
执行顺序为：
	函数
	启动一个 goroutine 调用匿名函数
	1
*/
